1. Field of the Invention
The present invention relates to networks and more particularly, to an apparatus and method of storing and controlling network traffic data in a switched network operating according to Ethernet (IEEE 802.3) protocol.
2. Background Art
Switched local area networks use network switches for supplying data frames between network stations or other network nodes, where each network node is connected to a network switch by a media. The switched local area network architecture uses a media access control (MAC) enabling a network interface within each network node and the network switch to access the media. Each network switch stores and forwards data frames received from a transmitter node to a destination node based on header information and the data in the received frames, including a source and destination address. Each network switch uses a respective external memory, such as an SSRAM, to temporarily store data frames as they are passed through the switch. In particular, each network switch stores and fetches data frames in the external memory via an external memory interface.
A difficulty in designing a network switch to be xe2x80x9cnon-blockingxe2x80x9d (i.e., preventing delay in transferring a data packet received at an input switch port), yet with finite memory bandwidth resources, is ensuring that all ports within each network switch have sufficient memory resources allocated from a respective external memory to prevent the delay of data transmission. An external memory interface of an SSRAM memory, for example, has a limited bandwidth based on the number of data bits on the external memory bus (e.g., 16-bit, 32-bit, etc.) and the data rate of the interface. Due to cost considerations, the external memory interface is normally sized to provide xe2x80x9cjust enoughxe2x80x9d bandwidth to serve the bandwidth requirements of the network switch ports, including a high bandwidth uplink port. However, if two or more network switches are connected together in a cascade arrangement through expansion ports requiring bandwidth to create a larger switch (e.g., a 24-port switch using two 12-port network switches), bandwidth allocated to the remaining network switch ports becomes reduced and possible blocking behavior may occur if the high bandwidth uplink is retained. A primary cause of this problem is the limited bandwidth of the external memory interface which must now service twice as many ports. Hence, expandability is difficult when connecting two or more switches together while also maintaining a xe2x80x9cnon-blockingxe2x80x9d arrangement, especially in network switches under heavy network traffic conditions.
There is a need for a non-blocking network switch arrangement that includes connecting two or more switches together without significantly increasing the size of each switch and extensively modifying the switch design. This and other needs are attained by the present invention, where two or more network switches are arranged to access a single external memory through their respective external memory interfaces, thereby eliminating the need to transfer data frames over the expansion ports of the network switches within the arrangement.
According to one aspect of the invention, a non-blocking network switch arrangement includes a plurality of network switches, with each of the plurality of network switches having a data port and an external data memory interface. The external data memory is accessible to all of the plurality of network switches through each network switch""s respective external memory interface. In addition, a data bus is connected to each network switch and is configured to exchange data frame pointers between the plurality of network switches.
According to another aspect of the invention, a method of operating two or more network switches in a non-blocking manner with a shared external memory includes a first step of connecting each of the network switches to the external memory. Next, each respective network switch is apportioned a respective portion of the external memory. Data frames written from each network switch to the external memory are written from a particular network switch to its respective portion of the external memory. When data frames need to be transferred from the external memory to a port or ports within one or more of the switches, the data frames may be transferred from any portion of the external memory to any one or more of the network switches.
This and other needs are attained by the present invention, where two or more network switches are arranged to access a single external memory through their respective external memory interfaces, thereby eliminating the need to transfer data frames over the expansion ports of the network switches within the arrangement. Further, the exchange of frame pointers between network switches utilizing the expansion ports, affords two or more network switches the capability to access the shared external memory without significantly increasing the size of each switch and extensively modifying the switch design.
Additional advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.